<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt; Class Template Reference</title>
<script type="text/javaScript" src="search/search.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3.0.1/es5/tex-mml-chtml.js"></script>
<script src="../../mlstyle.js"></script>
<link href="../css/besser.css" rel="stylesheet" type="text/css"/>
</head>
<!-- pretty cool: each body gets an id tag which is the basename of the web page  -->
<!--              and allows for page-specific CSS. this is client-side scripted, -->
<!--              so the id will not yet show up in the served source code -->
<script type="text/javascript">
    jQuery(document).ready(function () {
        var url = jQuery(location).attr('href');
        var pname = url.substr(url.lastIndexOf("/")+1, url.lastIndexOf(".")-url.lastIndexOf("/")-1);
        jQuery('#this_url').html('<strong>' + pname + '</strong>');
        jQuery('body').attr('id', pname);
    });
</script>
<body>
    <div id="shark_old">
        <div id="wrap">
            <div id="header">
                <div id="site-name"><a href="../../sphinx_pages/build/html/index.html">Shark machine learning library</a></div>
                <ul id="nav">
                    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/installation.html">Installation</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/tutorials/tutorials.html">Tutorials</a>
                    </li>
		    <li >
                        <a href="../../sphinx_pages/build/html/rest_sources/benchmark.html">Benchmarks</a>
                    </li>
                    <li class="active">
                        <a href="classes.html">Documentation</a>
                        <ul>
                            <li class="first"></li>
                            <li><a href="../../sphinx_pages/build/html/rest_sources/quickref/quickref.html">Quick references</a></li>
                            <li><a href="classes.html">Class list</a></li>
                            <li class="last"><a href="group__shark__globals.html">Global functions</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </div>
    </div>
<div id="doxywrapper">
<!--
    <div id="global_doxytitle">Doxygen<br>Documentation:</div>
-->
    <div id="navrow_wrapper">
<!-- Generated by Doxygen 1.9.8 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceshark.html">shark</a></li><li class="navelem"><a class="el" href="classshark_1_1_abstract_model.html">AbstractModel</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="classshark_1_1_abstract_model-members.html">List of all members</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle"><div class="title">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt; Class Template Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__models.html">Models</a></div></div></div>
</div><!--header-->
<div class="contents">

<p>Base class for all Models.  
 <a href="classshark_1_1_abstract_model.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_abstract_model_8h_source.html">shark/Models/AbstractModel.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classshark_1_1_abstract_model__inherit__graph.png" border="0" usemap="#ashark_1_1_abstract_model_3_01_input_type_t_00_01_output_type_t_00_01_parameter_vector_type_01_4_inherit__map" alt="Inheritance graph"/></div>
<map name="ashark_1_1_abstract_model_3_01_input_type_t_00_01_output_type_t_00_01_parameter_vector_type_01_4_inherit__map" id="ashark_1_1_abstract_model_3_01_input_type_t_00_01_output_type_t_00_01_parameter_vector_type_01_4_inherit__map">
<area shape="rect" title="Base class for all Models." alt="" coords="213,539,394,595"/>
<area shape="rect" href="classshark_1_1_clustering_model.html" title=" " alt="" coords="476,5,634,46"/>
<area shape="poly" title=" " alt="" coords="308,523,327,413,356,275,374,206,394,144,416,92,440,57,456,44,475,35,477,40,459,49,444,61,421,95,399,145,379,207,361,276,332,414,314,524"/>
<area shape="rect" href="classshark_1_1_clustering_model.html" title=" " alt="" coords="478,71,633,111"/>
<area shape="poly" title=" " alt="" coords="303,523,310,439,330,332,348,275,372,220,402,168,440,122,457,110,476,100,478,105,460,114,444,126,406,171,376,222,353,277,336,333,315,440,308,524"/>
<area shape="rect" href="classshark_1_1_linear_model.html" title=" " alt="" coords="490,136,621,177"/>
<area shape="poly" title=" " alt="" coords="305,523,316,451,339,361,357,314,379,268,407,225,440,188,463,172,488,162,490,167,465,177,444,192,411,229,384,271,362,316,344,363,321,452,311,524"/>
<area shape="rect" title=" " alt="" coords="464,201,647,242"/>
<area shape="poly" title=" " alt="" coords="309,523,324,463,349,390,387,316,411,283,440,253,461,239,464,243,444,257,416,286,391,319,354,392,329,464,314,524"/>
<area shape="rect" title=" " alt="" coords="448,267,663,307"/>
<area shape="poly" title=" " alt="" coords="315,523,333,476,359,420,395,365,416,340,440,318,460,306,463,310,444,322,420,344,399,369,364,423,338,478,320,525"/>
<area shape="rect" title=" " alt="" coords="464,332,647,373"/>
<area shape="poly" title=" " alt="" coords="323,524,370,451,403,414,440,382,462,370,464,375,444,387,407,418,375,454,328,527"/>
<area shape="rect" title=" " alt="" coords="454,397,657,468"/>
<area shape="poly" title=" " alt="" coords="356,528,441,477,463,466,465,471,443,481,358,533"/>
<area shape="rect" title=" " alt="" coords="462,492,649,562"/>
<area shape="poly" title=" " alt="" coords="409,548,461,539,461,545,410,553"/>
<area shape="rect" href="classshark_1_1_conv2_d_model.html" title="Convolutional Model for 2D image data." alt="" coords="442,587,668,627"/>
<area shape="poly" title=" " alt="" coords="410,581,442,586,441,592,409,586"/>
<area shape="rect" href="classshark_1_1_dropout_layer.html" title="Implements Dropout layer semantics." alt="" coords="486,652,625,693"/>
<area shape="poly" title=" " alt="" coords="368,600,443,637,486,652,484,657,441,641,365,605"/>
<area shape="rect" href="classshark_1_1_linear_model.html" title="Linear Prediction with optional activation function." alt="" coords="447,717,664,758"/>
<area shape="poly" title=" " alt="" coords="337,605,384,656,413,681,443,702,469,714,467,719,441,707,409,685,380,660,333,609"/>
<area shape="rect" href="classshark_1_1_neuron_layer.html" title="Neuron activation layer." alt="" coords="461,783,650,823"/>
<area shape="poly" title=" " alt="" coords="325,608,345,647,371,690,404,732,444,768,465,780,462,784,440,772,401,735,367,693,340,649,320,611"/>
<area shape="rect" href="classshark_1_1_normalizer.html" title="&quot;Diagonal&quot; linear model for data normalization." alt="" coords="489,848,621,889"/>
<area shape="poly" title=" " alt="" coords="318,609,335,661,360,721,397,782,419,809,444,833,465,847,489,856,488,861,463,851,440,837,415,812,392,785,356,724,330,663,313,611"/>
<area shape="rect" href="classshark_1_1_one_versus_one_classifier.html" title="One&#45;versus&#45;one Classifier." alt="" coords="453,913,658,954"/>
<area shape="poly" title=" " alt="" coords="313,610,326,674,351,752,368,792,389,831,414,867,444,898,462,911,458,915,440,902,410,870,384,833,363,794,346,753,321,675,308,611"/>
<area shape="rect" href="classshark_1_1_pooling_layer.html" title="Performs Pooling operations for a given input image." alt="" coords="487,979,623,1019"/>
<area shape="poly" title=" " alt="" coords="310,610,319,686,341,781,359,831,381,879,409,924,444,964,464,978,488,988,486,993,462,983,440,968,405,927,377,882,354,833,336,783,314,687,304,611"/>
<area shape="rect" href="classshark_1_1_resize_layer.html" title="Resizes an input image to a given size." alt="" coords="488,1044,622,1085"/>
<area shape="poly" title=" " alt="" coords="307,610,313,697,321,752,333,810,350,869,374,927,405,981,444,1029,464,1044,489,1054,487,1059,462,1049,440,1033,400,984,369,930,345,871,327,811,315,753,308,698,302,610"/>
<area shape="rect" href="classshark_1_1_i_parameterizable.html" title="Top level interface for everything that holds parameters." alt="" coords="5,489,165,530"/>
<area shape="poly" title=" " alt="" coords="180,532,213,541,212,546,179,537"/>
<area shape="rect" href="classshark_1_1_i_nameable.html" title="This class is an interface for all objects which can have a name." alt="" coords="23,554,147,580"/>
<area shape="poly" title=" " alt="" coords="163,564,212,564,212,570,163,570"/>
<area shape="rect" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality." alt="" coords="19,604,151,629"/>
<area shape="poly" title=" " alt="" coords="159,597,212,585,213,590,160,602"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a76a2d024b6013037b072596fe4f9f829" id="r_a76a2d024b6013037b072596fe4f9f829"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> { <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a89a819e2614f818baa23c5c8fdd4393d">HAS_FIRST_PARAMETER_DERIVATIVE</a> = 1
, <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a82b5c22e1b95f20aff01b4b39e86c607">HAS_FIRST_INPUT_DERIVATIVE</a> = 4
 }</td></tr>
<tr class="separator:a76a2d024b6013037b072596fe4f9f829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a714e85d7a6cd2b68898cb5dbb25c37d4" id="r_a714e85d7a6cd2b68898cb5dbb25c37d4"><td class="memItemLeft" align="right" valign="top">typedef InputTypeT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a></td></tr>
<tr class="memdesc:a714e85d7a6cd2b68898cb5dbb25c37d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the input type of the model.  <br /></td></tr>
<tr class="separator:a714e85d7a6cd2b68898cb5dbb25c37d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e5acf043e3a76b50d15a852365801b4" id="r_a8e5acf043e3a76b50d15a852365801b4"><td class="memItemLeft" align="right" valign="top">typedef OutputTypeT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a></td></tr>
<tr class="memdesc:a8e5acf043e3a76b50d15a852365801b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the output type of the model.  <br /></td></tr>
<tr class="separator:a8e5acf043e3a76b50d15a852365801b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7fccb0cdf4c0b47afbe5da03532b9b4e" id="r_a7fccb0cdf4c0b47afbe5da03532b9b4e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_abstract_model.html">AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a7fccb0cdf4c0b47afbe5da03532b9b4e">ModelBaseType</a></td></tr>
<tr class="memdesc:a7fccb0cdf4c0b47afbe5da03532b9b4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Defines the BaseType used by the model (this type). Useful for creating derived models.  <br /></td></tr>
<tr class="separator:a7fccb0cdf4c0b47afbe5da03532b9b4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a518304e95092673b7b6438cace052ef6" id="r_a518304e95092673b7b6438cace052ef6"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a></td></tr>
<tr class="memdesc:a518304e95092673b7b6438cace052ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the batch type of the input type.  <br /></td></tr>
<tr class="separator:a518304e95092673b7b6438cace052ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0c72e230b9a1324c95ba8ac0b07ba13" id="r_aa0c72e230b9a1324c95ba8ac0b07ba13"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a></td></tr>
<tr class="memdesc:aa0c72e230b9a1324c95ba8ac0b07ba13"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines the batch type of the output type  <br /></td></tr>
<tr class="separator:aa0c72e230b9a1324c95ba8ac0b07ba13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b242b73aadc63380181fdf4da1db84" id="r_aa6b242b73aadc63380181fdf4da1db84"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a></td></tr>
<tr class="separator:aa6b242b73aadc63380181fdf4da1db84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48785f538572a695c46b9eec7a4a00f3" id="r_a48785f538572a695c46b9eec7a4a00f3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a48785f538572a695c46b9eec7a4a00f3">FeatureNotAvailableException</a></td></tr>
<tr class="separator:a48785f538572a695c46b9eec7a4a00f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classshark_1_1_i_parameterizable"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classshark_1_1_i_parameterizable')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classshark_1_1_i_parameterizable.html">shark::IParameterizable&lt; VectorType &gt;</a></td></tr>
<tr class="memitem:a2ad5e2e60b2b352988b41f46024d790b inherit pub_types_classshark_1_1_i_parameterizable" id="r_a2ad5e2e60b2b352988b41f46024d790b"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="_c_svm_linear_8cpp.html#ab106d665148183a2dc94dcf8716c9203">VectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a></td></tr>
<tr class="separator:a2ad5e2e60b2b352988b41f46024d790b inherit pub_types_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0b7aeb13b70c8d4cffc4958e6583627c" id="r_a0b7aeb13b70c8d4cffc4958e6583627c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a0b7aeb13b70c8d4cffc4958e6583627c">AbstractModel</a> ()</td></tr>
<tr class="separator:a0b7aeb13b70c8d4cffc4958e6583627c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad07313494d4f88c8294410d0c77d80b7" id="r_ad07313494d4f88c8294410d0c77d80b7"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ad07313494d4f88c8294410d0c77d80b7">~AbstractModel</a> ()</td></tr>
<tr class="separator:ad07313494d4f88c8294410d0c77d80b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a234570c3bc1f1fdf06e67ecc4751fa24" id="r_a234570c3bc1f1fdf06e67ecc4751fa24"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a234570c3bc1f1fdf06e67ecc4751fa24">features</a> () const</td></tr>
<tr class="separator:a234570c3bc1f1fdf06e67ecc4751fa24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8cb877bb0c6b8e713e852f9057a6eae" id="r_af8cb877bb0c6b8e713e852f9057a6eae"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#af8cb877bb0c6b8e713e852f9057a6eae">updateFeatures</a> ()</td></tr>
<tr class="separator:af8cb877bb0c6b8e713e852f9057a6eae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae04810c1ae40f816872eba4ef3953e36" id="r_ae04810c1ae40f816872eba4ef3953e36"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ae04810c1ae40f816872eba4ef3953e36">hasFirstParameterDerivative</a> () const</td></tr>
<tr class="memdesc:ae04810c1ae40f816872eba4ef3953e36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the first parameter derivative is implemented.  <br /></td></tr>
<tr class="separator:ae04810c1ae40f816872eba4ef3953e36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1092b50b56555e8f2e8b4d4aa57eb3c3" id="r_a1092b50b56555e8f2e8b4d4aa57eb3c3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a1092b50b56555e8f2e8b4d4aa57eb3c3">hasFirstInputDerivative</a> () const</td></tr>
<tr class="memdesc:a1092b50b56555e8f2e8b4d4aa57eb3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the first input derivative is implemented.  <br /></td></tr>
<tr class="separator:a1092b50b56555e8f2e8b4d4aa57eb3c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56391736859ddea5d1011d2248431b47" id="r_a56391736859ddea5d1011d2248431b47"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_shape.html">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a56391736859ddea5d1011d2248431b47">inputShape</a> () const =0</td></tr>
<tr class="memdesc:a56391736859ddea5d1011d2248431b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the expected shape of the input.  <br /></td></tr>
<tr class="separator:a56391736859ddea5d1011d2248431b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54b8655a750489902560a5eb32ba5b4b" id="r_a54b8655a750489902560a5eb32ba5b4b"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_shape.html">Shape</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a54b8655a750489902560a5eb32ba5b4b">outputShape</a> () const =0</td></tr>
<tr class="memdesc:a54b8655a750489902560a5eb32ba5b4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the shape of the output.  <br /></td></tr>
<tr class="separator:a54b8655a750489902560a5eb32ba5b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47d80a74ce80e5dd5e2851c52738b86b" id="r_a47d80a74ce80e5dd5e2851c52738b86b"><td class="memItemLeft" align="right" valign="top">virtual boost::shared_ptr&lt; <a class="el" href="structshark_1_1_state.html">State</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a47d80a74ce80e5dd5e2851c52738b86b">createState</a> () const</td></tr>
<tr class="memdesc:a47d80a74ce80e5dd5e2851c52738b86b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an internal state of the model.  <br /></td></tr>
<tr class="separator:a47d80a74ce80e5dd5e2851c52738b86b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11203dd6f50218e4c341a5d24ff5d543" id="r_a11203dd6f50218e4c341a5d24ff5d543"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a11203dd6f50218e4c341a5d24ff5d543">read</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive)</td></tr>
<tr class="memdesc:a11203dd6f50218e4c341a5d24ff5d543"><td class="mdescLeft">&#160;</td><td class="mdescRight">From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, reads a model from an archive.  <br /></td></tr>
<tr class="separator:a11203dd6f50218e4c341a5d24ff5d543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3f3d4d781954dc43d6cd445a5b56b4" id="r_a7d3f3d4d781954dc43d6cd445a5b56b4"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a7d3f3d4d781954dc43d6cd445a5b56b4">write</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive) const</td></tr>
<tr class="memdesc:a7d3f3d4d781954dc43d6cd445a5b56b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">writes a model to an archive  <br /></td></tr>
<tr class="separator:a7d3f3d4d781954dc43d6cd445a5b56b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7edef74da55322b6aef0ba65b08592d" id="r_ac7edef74da55322b6aef0ba65b08592d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;outputs) const</td></tr>
<tr class="memdesc:ac7edef74da55322b6aef0ba65b08592d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a batch of patterns.  <br /></td></tr>
<tr class="separator:ac7edef74da55322b6aef0ba65b08592d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6b99ab56d362609a144764922b4bd7b" id="r_af6b99ab56d362609a144764922b4bd7b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#af6b99ab56d362609a144764922b4bd7b">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;outputs, <a class="el" href="structshark_1_1_state.html">State</a> &amp;state) const =0</td></tr>
<tr class="memdesc:af6b99ab56d362609a144764922b4bd7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a batch of patterns.  <br /></td></tr>
<tr class="separator:af6b99ab56d362609a144764922b4bd7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a331290a6cb2840663d2178899366c8" id="r_a3a331290a6cb2840663d2178899366c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a3a331290a6cb2840663d2178899366c8">eval</a> (<a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &amp;output) const</td></tr>
<tr class="memdesc:a3a331290a6cb2840663d2178899366c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard interface for evaluating the response of the model to a single pattern.  <br /></td></tr>
<tr class="separator:a3a331290a6cb2840663d2178899366c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b69168617355ebbd470caf2393a541f" id="r_a0b69168617355ebbd470caf2393a541f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a0b69168617355ebbd470caf2393a541f">operator()</a> (<a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> &gt; const &amp;patterns) const</td></tr>
<tr class="memdesc:a0b69168617355ebbd470caf2393a541f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a whole dataset. This is a convenience function.  <br /></td></tr>
<tr class="separator:a0b69168617355ebbd470caf2393a541f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b0b0517a53c93013b9372292f73a78" id="r_a78b0b0517a53c93013b9372292f73a78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a78b0b0517a53c93013b9372292f73a78">operator()</a> (<a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;pattern) const</td></tr>
<tr class="memdesc:a78b0b0517a53c93013b9372292f73a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a single pattern. This is a convenience function.  <br /></td></tr>
<tr class="separator:a78b0b0517a53c93013b9372292f73a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa10f381b3bd678c82a600c5bc6ac0ec3" id="r_aa10f381b3bd678c82a600c5bc6ac0ec3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#aa10f381b3bd678c82a600c5bc6ac0ec3">operator()</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns) const</td></tr>
<tr class="memdesc:aa10f381b3bd678c82a600c5bc6ac0ec3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Model evaluation as an operator for a single pattern. This is a convenience function.  <br /></td></tr>
<tr class="separator:aa10f381b3bd678c82a600c5bc6ac0ec3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad699b6b1f813c5cc3b3ed45f254dbc1d" id="r_ad699b6b1f813c5cc3b3ed45f254dbc1d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#ad699b6b1f813c5cc3b3ed45f254dbc1d">weightedParameterDerivative</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &amp;derivative) const</td></tr>
<tr class="memdesc:ad699b6b1f813c5cc3b3ed45f254dbc1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates the weighted sum of derivatives w.r.t the parameters.  <br /></td></tr>
<tr class="separator:ad699b6b1f813c5cc3b3ed45f254dbc1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c192dedb474c5a8e39b1f46d99f94cc" id="r_a3c192dedb474c5a8e39b1f46d99f94cc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a3c192dedb474c5a8e39b1f46d99f94cc">weightedInputDerivative</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;pattern, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, <a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;derivative) const</td></tr>
<tr class="memdesc:a3c192dedb474c5a8e39b1f46d99f94cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates the weighted sum of derivatives w.r.t the inputs  <br /></td></tr>
<tr class="separator:a3c192dedb474c5a8e39b1f46d99f94cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb4966b597013417b5e9957c84485c8c" id="r_adb4966b597013417b5e9957c84485c8c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#adb4966b597013417b5e9957c84485c8c">weightedDerivatives</a> (<a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;patterns, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;outputs, <a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;coefficients, <a class="el" href="structshark_1_1_state.html">State</a> const &amp;state, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &amp;parameterDerivative, <a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;inputDerivative) const</td></tr>
<tr class="memdesc:adb4966b597013417b5e9957c84485c8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">calculates weighted input and parameter derivative at the same time  <br /></td></tr>
<tr class="separator:adb4966b597013417b5e9957c84485c8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_parameterizable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_parameterizable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_parameterizable.html">shark::IParameterizable&lt; VectorType &gt;</a></td></tr>
<tr class="memitem:a9e3a11172e74d1aa7292f3de4e2b6ebc inherit pub_methods_classshark_1_1_i_parameterizable" id="r_a9e3a11172e74d1aa7292f3de4e2b6ebc"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#a9e3a11172e74d1aa7292f3de4e2b6ebc">~IParameterizable</a> ()</td></tr>
<tr class="separator:a9e3a11172e74d1aa7292f3de4e2b6ebc inherit pub_methods_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa2ba692ab64a0edbff60d7ee6794db inherit pub_methods_classshark_1_1_i_parameterizable" id="r_afaa2ba692ab64a0edbff60d7ee6794db"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#afaa2ba692ab64a0edbff60d7ee6794db">parameterVector</a> () const</td></tr>
<tr class="memdesc:afaa2ba692ab64a0edbff60d7ee6794db inherit pub_methods_classshark_1_1_i_parameterizable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the parameter vector.  <br /></td></tr>
<tr class="separator:afaa2ba692ab64a0edbff60d7ee6794db inherit pub_methods_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5e35d1a10ff36fa72ea787baa40e9ad inherit pub_methods_classshark_1_1_i_parameterizable" id="r_ad5e35d1a10ff36fa72ea787baa40e9ad"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#ad5e35d1a10ff36fa72ea787baa40e9ad">setParameterVector</a> (<a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> const &amp;newParameters)</td></tr>
<tr class="memdesc:ad5e35d1a10ff36fa72ea787baa40e9ad inherit pub_methods_classshark_1_1_i_parameterizable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the parameter vector.  <br /></td></tr>
<tr class="separator:ad5e35d1a10ff36fa72ea787baa40e9ad inherit pub_methods_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1e8d1d4dbde387e2f6a25141ed3a20 inherit pub_methods_classshark_1_1_i_parameterizable" id="r_aed1e8d1d4dbde387e2f6a25141ed3a20"><td class="memItemLeft" align="right" valign="top">virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_parameterizable.html#aed1e8d1d4dbde387e2f6a25141ed3a20">numberOfParameters</a> () const</td></tr>
<tr class="memdesc:aed1e8d1d4dbde387e2f6a25141ed3a20 inherit pub_methods_classshark_1_1_i_parameterizable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of parameters.  <br /></td></tr>
<tr class="separator:aed1e8d1d4dbde387e2f6a25141ed3a20 inherit pub_methods_classshark_1_1_i_parameterizable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_nameable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_nameable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_nameable.html">shark::INameable</a></td></tr>
<tr class="memitem:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable" id="r_a877dbdfc6b58ea836495143cea44a98c"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a877dbdfc6b58ea836495143cea44a98c">~INameable</a> ()</td></tr>
<tr class="separator:a877dbdfc6b58ea836495143cea44a98c inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable" id="r_a9893f99314de30cd472e649c235d0db4"><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_nameable.html#a9893f99314de30cd472e649c235d0db4">name</a> () const</td></tr>
<tr class="memdesc:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the name of the object  <br /></td></tr>
<tr class="separator:a9893f99314de30cd472e649c235d0db4 inherit pub_methods_classshark_1_1_i_nameable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classshark_1_1_i_serializable"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classshark_1_1_i_serializable')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classshark_1_1_i_serializable.html">shark::ISerializable</a></td></tr>
<tr class="memitem:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable" id="r_a7baa9ce108d7278822297ce15882782a"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a7baa9ce108d7278822297ce15882782a">~ISerializable</a> ()</td></tr>
<tr class="memdesc:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual d'tor.  <br /></td></tr>
<tr class="separator:a7baa9ce108d7278822297ce15882782a inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable" id="r_abdda0c5b8e065b8afbac2cba8f58e841"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#abdda0c5b8e065b8afbac2cba8f58e841">load</a> (<a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;archive, unsigned int version)</td></tr>
<tr class="memdesc:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned loading of components, calls read(...).  <br /></td></tr>
<tr class="separator:abdda0c5b8e065b8afbac2cba8f58e841 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable" id="r_a5bf66fa8db15cc529bec98976a2f5255"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a5bf66fa8db15cc529bec98976a2f5255">save</a> (<a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;archive, unsigned int version) const</td></tr>
<tr class="memdesc:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="mdescLeft">&#160;</td><td class="mdescRight">Versioned storing of components, calls write(...).  <br /></td></tr>
<tr class="separator:a5bf66fa8db15cc529bec98976a2f5255 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable" id="r_a4560a94e8f4908fe8627e41e7d965735"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_i_serializable.html#a4560a94e8f4908fe8627e41e7d965735">BOOST_SERIALIZATION_SPLIT_MEMBER</a> ()</td></tr>
<tr class="separator:a4560a94e8f4908fe8627e41e7d965735 inherit pub_methods_classshark_1_1_i_serializable"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-attribs" name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a4c5a689901083e50007f53de72f694fc" id="r_a4c5a689901083e50007f53de72f694fc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">m_features</a></td></tr>
<tr class="separator:a4c5a689901083e50007f53de72f694fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><div class="compoundTemplParams">template&lt;class InputTypeT, class OutputTypeT, class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> = RealVector&gt;<br />
class shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;</div><p>Base class for all Models. </p>
<dl class="section user"><dt></dt><dd>A model is one of the three fundaments of supervised learning: model, error measure and an optimization algorithm. It is a concept of a function which performs a mapping \( x \rightarrow f_w(x)\). In contrast to an error function it has two sets of parameters: The first is the current point to map \(x\), the others are the internal model parameters \(w\) which define the mapping. Often a model is used to find an optimal mapping for a problem, for example a function which best fits the points of a given dataset. Therefore, <a class="el" href="classshark_1_1_abstract_model.html" title="Base class for all Models.">AbstractModel</a> does not only offer the mapping itself, but also a set of special derivatives with respect to \( x \) and \( w \). Most of the time, only the derivative with respect to \( w \) is needed, but in some special problems, like finding optimal stimuli or stacking models, also the input derivative is needed.</dd></dl>
<dl class="section user"><dt>Models are optimized for batch processing. This means, that instead of only one data point at a time, it can</dt><dd>evaluate a big set of inputs at the same time, using optimized routines for this task.</dd></dl>
<dl class="section user"><dt></dt><dd>The derivatives are weighted, which means that the derivatives of every single output are added together weighted by coefficients (see <a class="el" href="classshark_1_1_abstract_model.html#ad699b6b1f813c5cc3b3ed45f254dbc1d" title="calculates the weighted sum of derivatives w.r.t the parameters.">weightedParameterDerivative</a>). This is an optimization for the chain rule which is very efficient to calculate most of the time.</dd></dl>
<dl class="section user"><dt></dt><dd>It is allowed to store intermediate values during <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d" title="Standard interface for evaluating the response of the model to a batch of patterns.">eval</a> and use them to speed up calculation of derivatives. Therefore it must be guaranteed that <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d" title="Standard interface for evaluating the response of the model to a batch of patterns.">eval()</a> is called before calculating derivatives. This is no restriction, since typical error measures need the mapping itself and not only the derivative.</dd></dl>
<dl class="section user"><dt></dt><dd>Models have names and can be serialised and have parameters. The type of the parameter vector can be set as third argument. By default, this is RealVector. </dd></dl>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00081">81</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a518304e95092673b7b6438cace052ef6" name="a518304e95092673b7b6438cace052ef6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a518304e95092673b7b6438cace052ef6">&#9670;&#160;</a></span>BatchInputType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt;<a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a>&gt;::type <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::BatchInputType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>defines the batch type of the input type. </p>
<p>This could for example be std::vector&lt;InputType&gt; but for example for RealVector it could be RealMatrix </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00097">97</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="aa0c72e230b9a1324c95ba8ac0b07ba13" name="aa0c72e230b9a1324c95ba8ac0b07ba13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0c72e230b9a1324c95ba8ac0b07ba13">&#9670;&#160;</a></span>BatchOutputType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structshark_1_1_batch.html">Batch</a>&lt;<a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a>&gt;::type <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::BatchOutputType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>defines the batch type of the output type </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00099">99</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="a48785f538572a695c46b9eec7a4a00f3" name="a48785f538572a695c46b9eec7a4a00f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48785f538572a695c46b9eec7a4a00f3">&#9670;&#160;</a></span>FeatureNotAvailableException</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classshark_1_1_typed_feature_not_available_exception.html">TypedFeatureNotAvailableException</a>&lt;<a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a>&gt; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::FeatureNotAvailableException</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="aa6b242b73aadc63380181fdf4da1db84" name="aa6b242b73aadc63380181fdf4da1db84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6b242b73aadc63380181fdf4da1db84">&#9670;&#160;</a></span>Features</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classshark_1_1_typed_flags.html">TypedFlags</a>&lt;<a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">Feature</a>&gt; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::Features</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="a714e85d7a6cd2b68898cb5dbb25c37d4" name="a714e85d7a6cd2b68898cb5dbb25c37d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a714e85d7a6cd2b68898cb5dbb25c37d4">&#9670;&#160;</a></span>InputType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef InputTypeT <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;<a class="el" href="_multi_task_svm_8cpp.html#a0dea9a3a85d327080d9b617903508925">::InputType</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Defines the input type of the model. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00085">85</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="a7fccb0cdf4c0b47afbe5da03532b9b4e" name="a7fccb0cdf4c0b47afbe5da03532b9b4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7fccb0cdf4c0b47afbe5da03532b9b4e">&#9670;&#160;</a></span>ModelBaseType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classshark_1_1_abstract_model.html">AbstractModel</a>&lt;InputTypeT,OutputTypeT,<a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>&gt; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::ModelBaseType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Defines the BaseType used by the model (this type). Useful for creating derived models. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00092">92</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="a8e5acf043e3a76b50d15a852365801b4" name="a8e5acf043e3a76b50d15a852365801b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e5acf043e3a76b50d15a852365801b4">&#9670;&#160;</a></span>OutputType</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef OutputTypeT <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::OutputType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Defines the output type of the model. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00087">87</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a76a2d024b6013037b072596fe4f9f829" name="a76a2d024b6013037b072596fe4f9f829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76a2d024b6013037b072596fe4f9f829">&#9670;&#160;</a></span>Feature</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829">shark::AbstractModel::Feature</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a76a2d024b6013037b072596fe4f9f829a89a819e2614f818baa23c5c8fdd4393d" name="a76a2d024b6013037b072596fe4f9f829a89a819e2614f818baa23c5c8fdd4393d"></a>HAS_FIRST_PARAMETER_DERIVATIVE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a76a2d024b6013037b072596fe4f9f829a82b5c22e1b95f20aff01b4b39e86c607" name="a76a2d024b6013037b072596fe4f9f829a82b5c22e1b95f20aff01b4b39e86c607"></a>HAS_FIRST_INPUT_DERIVATIVE&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00106">106</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0b7aeb13b70c8d4cffc4958e6583627c" name="a0b7aeb13b70c8d4cffc4958e6583627c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b7aeb13b70c8d4cffc4958e6583627c">&#9670;&#160;</a></span>AbstractModel()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::AbstractModel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00102">102</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="ad07313494d4f88c8294410d0c77d80b7" name="ad07313494d4f88c8294410d0c77d80b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad07313494d4f88c8294410d0c77d80b7">&#9670;&#160;</a></span>~AbstractModel()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::~<a class="el" href="classshark_1_1_abstract_model.html">AbstractModel</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00104">104</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a47d80a74ce80e5dd5e2851c52738b86b" name="a47d80a74ce80e5dd5e2851c52738b86b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47d80a74ce80e5dd5e2851c52738b86b">&#9670;&#160;</a></span>createState()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual boost::shared_ptr&lt; <a class="el" href="structshark_1_1_state.html">State</a> &gt; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::createState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates an internal state of the model. </p>
<p>The state is needed when the derivatives are to be calculated. Eval can store a state which is then reused to speed up the calculations of the derivatives. This also allows eval to be evaluated in parallel! </p>

<p>Reimplemented in <a class="el" href="classshark_1_1_c_m_a_c_map.html#a262bfb0a301de3af1bcac7f5718ef782">shark::CMACMap</a>, <a class="el" href="classshark_1_1_concatenated_model.html#ac474247bfc1639fe5aea49156a9b608d">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#aa837cb1b2e7f96cee6384c1464ad0bfb">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#a91e4f300eb52f22ca8a39c8c6b26f039">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#ae4764c8830fd7f7b65e43e3e4210dba1">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_missing_features_kernel_expansion.html#abccbbad9f32c73e2419bc120c5ebb53c">shark::MissingFeaturesKernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#aa24c6a19288e028495d0bef6f55f8131">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#aa24c6a19288e028495d0bef6f55f8131">shark::LinearModel&lt; RealVector &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#acc42a1d34884effef8d1598aa35ab5a2">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_normalizer.html#af23981098d22aa69fcf0b258efae50e8">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#a24d1e801c037be39351c83f7c102bdc2">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#aefd4642921dff88b3f8ecde017be2698">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a3193c0bff83fdf1e5ed37f12d9639351">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_resize_layer.html#a997263b15ab2384f4d2b3006caf32211">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#ab61230bfb1fa0dabe95576205b9dfdfc">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a5e0f8d86ec292aeb2cd89525750a5079">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00132">132</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a1092b50b56555e8f2e8b4d4aa57eb3c3">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::hasFirstInputDerivative()</a>, <a class="el" href="classshark_1_1_abstract_model.html#ae04810c1ae40f816872eba4ef3953e36">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::hasFirstParameterDerivative()</a>, and <a class="el" href="_exception_8h.html#a4e03d7dfdfe8cbc90447fa829fc09e4f">SHARKEXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#aa877cede0623b9d651f8385f9b611c82">shark::NegativeLogLikelihood::evalDerivative()</a>, and <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a8b3b2f63448cb50dbcac630b10982341">shark::VariationalAutoencoderError&lt; SearchPointType &gt;::evalDerivative()</a>.</p>

</div>
</div>
<a id="ac7edef74da55322b6aef0ba65b08592d" name="ac7edef74da55322b6aef0ba65b08592d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7edef74da55322b6aef0ba65b08592d">&#9670;&#160;</a></span>eval() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Standard interface for evaluating the response of the model to a batch of patterns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the inputs of the model </td></tr>
    <tr><td class="paramname">outputs</td><td>the predictions or response of the model to every pattern </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_normalizer.html#ac5be6bd6571bd6585a4e6d2ffefc6c89">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#a2db6e780acbcf5242934c05edc46d2ad">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a43a67ce544b28a63664f73f2edec68e4">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#a7f8d21763c3f72152b774f3288602474">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#a9a55c5a7f5e4b7f447f299c1b19050e2">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a4a48b011bd427db1132d92d3832529ff">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_missing_features_kernel_expansion.html#ad54351526ec5ab5370b56e5a6b5250ed">shark::MissingFeaturesKernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#ac7edef74da55322b6aef0ba65b08592d">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#a4aa23de99b00a1ceeb1d4445f8344ad6">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a25713d2a3e7881d18fe7d767e0021da9">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00163">163</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a47d80a74ce80e5dd5e2851c52738b86b">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::createState()</a>, and <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>, <a class="el" href="classshark_1_1_abstract_model.html#a3a331290a6cb2840663d2178899366c8">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#aa877cede0623b9d651f8385f9b611c82">shark::NegativeLogLikelihood::evalDerivative()</a>, <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a8b3b2f63448cb50dbcac630b10982341">shark::VariationalAutoencoderError&lt; SearchPointType &gt;::evalDerivative()</a>, <a class="el" href="classshark_1_1_abstract_model.html#aa10f381b3bd678c82a600c5bc6ac0ec3">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::operator()()</a>, and <a class="el" href="classshark_1_1_abstract_model.html#a78b0b0517a53c93013b9372292f73a78">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::operator()()</a>.</p>

</div>
</div>
<a id="af6b99ab56d362609a144764922b4bd7b" name="af6b99ab56d362609a144764922b4bd7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6b99ab56d362609a144764922b4bd7b">&#9670;&#160;</a></span>eval() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> &amp;&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Standard interface for evaluating the response of the model to a batch of patterns. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the inputs of the model </td></tr>
    <tr><td class="paramname">outputs</td><td>the predictions or response of the model to every pattern </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval which can be reused for derivative computation. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classshark_1_1_normalizer.html#a35d40fefcc0f0b510316d698e2a2a5c0">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_resize_layer.html#a422e9b8b2a8b3d8c96e88ae413828faa">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#a8465955f88c4eeb452342583b2dcb3d3">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#af5f9f6f4a84a406ea1153de2e634531c">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a64719fbce6e8de9fdc79ccc6d0535d79">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#afa565afbf5a904a24b41bbd6bca97d40">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#adb1f1ccede1793a08b2ce69a6e79e026">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#a114c9975ec451ef779656f6554d1af24">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#acd41c1d0bfa8abb1efe5756b2cde9bd3">shark::ClusteringModel&lt; InputT, OutputT &gt;</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a6ff8dcfccb5d9c3d10ef5c94b66ce9e9">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#aa8c82d18e6ac27bae8155c751f552bda">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_missing_features_kernel_expansion.html#a4e541807a0dcdb55a6efb71533a26091">shark::MissingFeaturesKernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#ab37758750b8174cf1d93aa5e90eacef1">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#a63ecc465d06fff61ce17cdb3b4133131">shark::CARTree&lt; LabelType &gt;</a>, <a class="el" href="classshark_1_1_r_b_m.html#a4ba01d8ede9a53e1771471dc62e74a74">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a6b09b00726d7317e0c2e95084d22e42e">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, and <a class="el" href="classshark_1_1_one_versus_one_classifier.html#a6b09b00726d7317e0c2e95084d22e42e">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>.</p>

</div>
</div>
<a id="a3a331290a6cb2840663d2178899366c8" name="a3a331290a6cb2840663d2178899366c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a331290a6cb2840663d2178899366c8">&#9670;&#160;</a></span>eval() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::eval </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &amp;&#160;</td>
          <td class="paramname"><em>output</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Standard interface for evaluating the response of the model to a single pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>the input of the model </td></tr>
    <tr><td class="paramname">output</td><td>the prediction or response of the model to the pattern </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_classifier.html#a6efcef45c2cecbf50e2021dc1fab842c">shark::Classifier&lt; Model &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a6efcef45c2cecbf50e2021dc1fab842c">shark::Classifier&lt; detail::BaseNearestNeighbor&lt; InputType, unsigned int &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a6efcef45c2cecbf50e2021dc1fab842c">shark::Classifier&lt; KernelExpansion&lt; InputType &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a6efcef45c2cecbf50e2021dc1fab842c">shark::Classifier&lt; LinearModel&lt; RealVector &gt; &gt;</a>, <a class="el" href="classshark_1_1_hard_clustering_model.html#a9125dbc5b7937b976adbb8c9867b77a2">shark::HardClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_soft_clustering_model.html#a33826adb32937312fb6a25216d6d4df0">shark::SoftClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a3a331290a6cb2840663d2178899366c8">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, and <a class="el" href="classshark_1_1_one_versus_one_classifier.html#a3a331290a6cb2840663d2178899366c8">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00179">179</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>, and <a class="el" href="namespaceshark.html#a1531880b9b4076854b0b26441d353242">shark::getBatchElement()</a>.</p>

</div>
</div>
<a id="a234570c3bc1f1fdf06e67ecc4751fa24" name="a234570c3bc1f1fdf06e67ecc4751fa24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a234570c3bc1f1fdf06e67ecc4751fa24">&#9670;&#160;</a></span>features()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a> &amp; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::features </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="a1092b50b56555e8f2e8b4d4aa57eb3c3" name="a1092b50b56555e8f2e8b4d4aa57eb3c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1092b50b56555e8f2e8b4d4aa57eb3c3">&#9670;&#160;</a></span>hasFirstInputDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::hasFirstInputDerivative </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true when the first input derivative is implemented. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00117">117</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a82b5c22e1b95f20aff01b4b39e86c607">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::HAS_FIRST_INPUT_DERIVATIVE</a>, and <a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#a47d80a74ce80e5dd5e2851c52738b86b">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::createState()</a>.</p>

</div>
</div>
<a id="ae04810c1ae40f816872eba4ef3953e36" name="ae04810c1ae40f816872eba4ef3953e36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae04810c1ae40f816872eba4ef3953e36">&#9670;&#160;</a></span>hasFirstParameterDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::hasFirstParameterDerivative </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true when the first parameter derivative is implemented. </p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00113">113</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a89a819e2614f818baa23c5c8fdd4393d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::HAS_FIRST_PARAMETER_DERIVATIVE</a>, and <a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::m_features</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#a47d80a74ce80e5dd5e2851c52738b86b">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::createState()</a>, <a class="el" href="classshark_1_1_negative_log_likelihood.html#acfa3a7764dc459482a1450ddff8f74a4">shark::NegativeLogLikelihood::NegativeLogLikelihood()</a>, and <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a60064ffe8b1119e6f63af647e7298e91">shark::VariationalAutoencoderError&lt; SearchPointType &gt;::VariationalAutoencoderError()</a>.</p>

</div>
</div>
<a id="a56391736859ddea5d1011d2248431b47" name="a56391736859ddea5d1011d2248431b47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56391736859ddea5d1011d2248431b47">&#9670;&#160;</a></span>inputShape()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_shape.html">Shape</a> <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::inputShape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the expected shape of the input. </p>

<p>Implemented in <a class="el" href="classshark_1_1_classifier.html#ad06d269ebd28e84e9eb9774f10b4c745">shark::Classifier&lt; Model &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#ad06d269ebd28e84e9eb9774f10b4c745">shark::Classifier&lt; detail::BaseNearestNeighbor&lt; InputType, unsigned int &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#ad06d269ebd28e84e9eb9774f10b4c745">shark::Classifier&lt; KernelExpansion&lt; InputType &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#ad06d269ebd28e84e9eb9774f10b4c745">shark::Classifier&lt; LinearModel&lt; RealVector &gt; &gt;</a>, <a class="el" href="classshark_1_1_hard_clustering_model.html#a39c6ffa9343fa4f64d51291879a4b653">shark::HardClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_soft_clustering_model.html#aec891941d34d604d57e42d4c47e86bdf">shark::SoftClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_c_m_a_c_map.html#a62d37e3104adce826f02f83e796070ec">shark::CMACMap</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a0e8a68305ae5a156e2c56022a8f5d26f">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#a9cfa029e47ed8ede811b331830a45061">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#a1b3f8027154aba85b6d60192ccff825b">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#aafda4afa8142b463e1b316d8bd4e342f">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#af906b5c987b57e45a8a2a6d36a56bb55">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#af906b5c987b57e45a8a2a6d36a56bb55">shark::LinearModel&lt; RealVector &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#a86d5dee999295cf812aff10cde13acaf">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_normalizer.html#a3ed1c776011bf4c3b846b4314e5e8cf0">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#a526c89d58bd792fb51b0eeb43bd241b6">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#a3f05ce81a11201e1d81baa65c61d503d">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a44b2ae85c21a914c7e82b613fd99b311">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_resize_layer.html#a66576bbb87bfcc6bdb701e7f1cccc5b5">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#a3415c364f7cb7d30a4afef271f1f5b42">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a51a624959ff348a01150a8ea654709ff">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

</div>
</div>
<a id="aa10f381b3bd678c82a600c5bc6ac0ec3" name="aa10f381b3bd678c82a600c5bc6ac0ec3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa10f381b3bd678c82a600c5bc6ac0ec3">&#9670;&#160;</a></span>operator()() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Model evaluation as an operator for a single pattern. This is a convenience function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the input of the model </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the response of the model </dd></dl>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00209">209</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>.</p>

</div>
</div>
<a id="a0b69168617355ebbd470caf2393a541f" name="a0b69168617355ebbd470caf2393a541f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b69168617355ebbd470caf2393a541f">&#9670;&#160;</a></span>operator()() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> &gt; <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_data.html">Data</a>&lt; <a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> &gt; const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Model evaluation as an operator for a whole dataset. This is a convenience function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the input of the model </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the responses of the model </dd></dl>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00191">191</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="group__shark__globals.html#gab87e0d38b9fbf74d9a97ee02e8ab273b">shark::transform()</a>.</p>

</div>
</div>
<a id="a78b0b0517a53c93013b9372292f73a78" name="a78b0b0517a53c93013b9372292f73a78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78b0b0517a53c93013b9372292f73a78">&#9670;&#160;</a></span>operator()() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html#a8e5acf043e3a76b50d15a852365801b4">OutputType</a> <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::operator() </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a714e85d7a6cd2b68898cb5dbb25c37d4">InputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>pattern</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Model evaluation as an operator for a single pattern. This is a convenience function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>the input of the model </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the response of the model </dd></dl>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00199">199</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#ac7edef74da55322b6aef0ba65b08592d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::eval()</a>.</p>

</div>
</div>
<a id="a54b8655a750489902560a5eb32ba5b4b" name="a54b8655a750489902560a5eb32ba5b4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54b8655a750489902560a5eb32ba5b4b">&#9670;&#160;</a></span>outputShape()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classshark_1_1_shape.html">Shape</a> <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::outputShape </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the shape of the output. </p>

<p>Implemented in <a class="el" href="classshark_1_1_classifier.html#a5a2407d446b736bb6953a467b5dc080d">shark::Classifier&lt; Model &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a5a2407d446b736bb6953a467b5dc080d">shark::Classifier&lt; detail::BaseNearestNeighbor&lt; InputType, unsigned int &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a5a2407d446b736bb6953a467b5dc080d">shark::Classifier&lt; KernelExpansion&lt; InputType &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a5a2407d446b736bb6953a467b5dc080d">shark::Classifier&lt; LinearModel&lt; RealVector &gt; &gt;</a>, <a class="el" href="classshark_1_1_hard_clustering_model.html#a2036e2c4b73132196300e7d48444dc38">shark::HardClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_soft_clustering_model.html#a5e8c47e53870f7bf4734478980e65667">shark::SoftClusteringModel&lt; InputT &gt;</a>, <a class="el" href="classshark_1_1_c_m_a_c_map.html#a014784979a9cf1516977daaa94b88c9b">shark::CMACMap</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a148c74312f4b84d6b7c3d4614ab10cbe">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#ac9d63e4f9c8de8c29fe5995555581f4f">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#a5707772833530fd29f7f81734e59af47">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#a251b1a2dec182d8433b8010fc2df0787">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a9eeb86bc2b2c822fa5b9617e80a98d91">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a9eeb86bc2b2c822fa5b9617e80a98d91">shark::LinearModel&lt; RealVector &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#a4b411e1d052cd4e85ebbefee480e5ed7">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_normalizer.html#af9539f7513c96fa81afcc0250bdb095c">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#ab95b7c7a39b4f87ee47a5a4a48256525">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#ad9fb0c664cd068033bf1de655fde6bd3">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a5f0b042b8eaffbd25b1c3b980f0073c5">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_resize_layer.html#ae43eb5d812fd6d8cfa09404779c90973">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#ad304c0e7b8eafe8b7a479c55893acf2c">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a38b0902cc476633d87d332220d13e9a0">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

</div>
</div>
<a id="a11203dd6f50218e4c341a5d24ff5d543" name="a11203dd6f50218e4c341a5d24ff5d543"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11203dd6f50218e4c341a5d24ff5d543">&#9670;&#160;</a></span>read()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#ada68729491840669e47c8ad42282424f">InArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>From <a class="el" href="classshark_1_1_i_serializable.html" title="Abstracts serializing functionality.">ISerializable</a>, reads a model from an archive. </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_serializable.html#ad4ad9a7c274deff642f91e98417fbc63">shark::ISerializable</a>.</p>

<p>Reimplemented in <a class="el" href="classshark_1_1_classifier.html#acb5a2d1e5b06c0ef549b3e55d495cdc7">shark::Classifier&lt; Model &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#acb5a2d1e5b06c0ef549b3e55d495cdc7">shark::Classifier&lt; detail::BaseNearestNeighbor&lt; InputType, unsigned int &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#acb5a2d1e5b06c0ef549b3e55d495cdc7">shark::Classifier&lt; KernelExpansion&lt; InputType &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#acb5a2d1e5b06c0ef549b3e55d495cdc7">shark::Classifier&lt; LinearModel&lt; RealVector &gt; &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a9992375d324ad22ea888e0ecd4c9303f">shark::ClusteringModel&lt; InputT, OutputT &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a9992375d324ad22ea888e0ecd4c9303f">shark::ClusteringModel&lt; InputT, RealVector &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a9992375d324ad22ea888e0ecd4c9303f">shark::ClusteringModel&lt; InputT, unsigned int &gt;</a>, <a class="el" href="classshark_1_1_c_m_a_c_map.html#a1af8ce06b347c7ab4c4069cd196d85dd">shark::CMACMap</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a7106a8909f995781d3a426fd5ff85518">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#ae6bb09a47a944952e12a735fc1be7d43">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#a437851bcf235d76b8b9a5420f642bdea">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#a3b4d90a82af13e81f0ddb9bbc133a2a8">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#add90eac4cd04eb844acbf0ab0b32a9af">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#add90eac4cd04eb844acbf0ab0b32a9af">shark::LinearModel&lt; RealVector &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#abee464995a2511f6433aea9e3e51cb44">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_normalizer.html#a70516fb4229bc2e1ac915e69d091841c">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#ad4eedddd8b965056551409b8525c427e">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#a7844e7de771788a2cd7b8811b45f98b8">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a332b99e89c51c3a80da79691f7b878f5">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_resize_layer.html#a11d506d07029226e1436c78e3ee75df7">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#aa9417860a291a1f8703c89cb0268c29c">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a1f347deac6a9d06e1ae485dfa0fd276e">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00143">143</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::m_features</a>, <a class="el" href="classshark_1_1_typed_flags.html#a93b8873116122847eddc92a3f975cc06">shark::TypedFlags&lt; Flag &gt;::read()</a>, and <a class="el" href="classshark_1_1_i_parameterizable.html#ad5e35d1a10ff36fa72ea787baa40e9ad">shark::IParameterizable&lt; VectorType &gt;::setParameterVector()</a>.</p>

</div>
</div>
<a id="af8cb877bb0c6b8e713e852f9057a6eae" name="af8cb877bb0c6b8e713e852f9057a6eae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8cb877bb0c6b8e713e852f9057a6eae">&#9670;&#160;</a></span>updateFeatures()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::updateFeatures </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

</div>
</div>
<a id="adb4966b597013417b5e9957c84485c8c" name="adb4966b597013417b5e9957c84485c8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb4966b597013417b5e9957c84485c8c">&#9670;&#160;</a></span>weightedDerivatives()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::weightedDerivatives </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>patterns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>coefficients</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> const &amp;&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &amp;&#160;</td>
          <td class="paramname"><em>parameterDerivative</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;&#160;</td>
          <td class="paramname"><em>inputDerivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>calculates weighted input and parameter derivative at the same time </p>
<p>Sometimes, both derivatives are needed at the same time. But sometimes, when calculating the weighted parameter derivative, the input derivative can be calculated for free. This is for example true for the feed-forward neural networks. However, there exists the obvious default implementation that just calculates the derivatives one after another. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">patterns</td><td>the patterns to evaluate </td></tr>
    <tr><td class="paramname">outputs</td><td>the target outputs </td></tr>
    <tr><td class="paramname">coefficients</td><td>the coefficients which are used to calculate the weighted sum </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval to sped up calculations of the derivatives </td></tr>
    <tr><td class="paramname">parameterDerivative</td><td>the calculated parameter derivative as sum over all derivates of all patterns </td></tr>
    <tr><td class="paramname">inputDerivative</td><td>the calculated derivative for every pattern </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_concatenated_model.html#a46b3208ecf225b142517c82c190a31b5">shark::ConcatenatedModel&lt; VectorType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00261">261</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a3c192dedb474c5a8e39b1f46d99f94cc">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::weightedInputDerivative()</a>, and <a class="el" href="classshark_1_1_abstract_model.html#ad699b6b1f813c5cc3b3ed45f254dbc1d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::weightedParameterDerivative()</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a8b3b2f63448cb50dbcac630b10982341">shark::VariationalAutoencoderError&lt; SearchPointType &gt;::evalDerivative()</a>.</p>

</div>
</div>
<a id="a3c192dedb474c5a8e39b1f46d99f94cc" name="a3c192dedb474c5a8e39b1f46d99f94cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c192dedb474c5a8e39b1f46d99f94cc">&#9670;&#160;</a></span>weightedInputDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::weightedInputDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>coefficients</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> const &amp;&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>calculates the weighted sum of derivatives w.r.t the inputs </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>the patterns to evaluate </td></tr>
    <tr><td class="paramname">outputs</td><td>the target outputs </td></tr>
    <tr><td class="paramname">coefficients</td><td>the coefficients which are used to calculate the weighted sum for every pattern </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval to sped up calculations of the derivatives </td></tr>
    <tr><td class="paramname">derivative</td><td>the calculated derivative for every pattern </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_neuron_layer.html#a704f5a3c5c80639fff93fc55ef1a474d">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#a32d46299f9d8e89f241518efa2cdfd0f">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#a58ea7c864d76478c172a7e7799ad816d">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_resize_layer.html#ac7e74232d7382fa6040bb3c3b86a30d9">shark::ResizeLayer&lt; VectorType &gt;</a>, and <a class="el" href="classshark_1_1_dropout_layer.html#a3c09852df31dd53eca754ded34fe5531">shark::DropoutLayer&lt; VectorType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00239">239</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a82b5c22e1b95f20aff01b4b39e86c607">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::HAS_FIRST_INPUT_DERIVATIVE</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#adb4966b597013417b5e9957c84485c8c">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::weightedDerivatives()</a>.</p>

</div>
</div>
<a id="ad699b6b1f813c5cc3b3ed45f254dbc1d" name="ad699b6b1f813c5cc3b3ed45f254dbc1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad699b6b1f813c5cc3b3ed45f254dbc1d">&#9670;&#160;</a></span>weightedParameterDerivative()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::weightedParameterDerivative </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#a518304e95092673b7b6438cace052ef6">BatchInputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>outputs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_abstract_model.html#aa0c72e230b9a1324c95ba8ac0b07ba13">BatchOutputType</a> const &amp;&#160;</td>
          <td class="paramname"><em>coefficients</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structshark_1_1_state.html">State</a> const &amp;&#160;</td>
          <td class="paramname"><em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &amp;&#160;</td>
          <td class="paramname"><em>derivative</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>calculates the weighted sum of derivatives w.r.t the parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pattern</td><td>the patterns to evaluate </td></tr>
    <tr><td class="paramname">outputs</td><td>the target outputs </td></tr>
    <tr><td class="paramname">coefficients</td><td>the coefficients which are used to calculate the weighted sum for every pattern </td></tr>
    <tr><td class="paramname">state</td><td>intermediate results stored by eval to speed up calculations of the derivatives </td></tr>
    <tr><td class="paramname">derivative</td><td>the calculated derivative as sum over all derivates of all patterns </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classshark_1_1_conv2_d_model.html#a7e08e22875a1316ee70df6fb857900c6">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#a77fafddfd9c5068f8fa543d43741757b">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#a7b7eceac5d8d6c11fa787670b448b5ef">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_resize_layer.html#aaafcc82e666ef955a86f1ddd4510f81f">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#ae157c4443c817e640e439081a380c1c9">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_concatenated_model.html#a5a81b3d399d907f1dc6ea0ccc1e6af32">shark::ConcatenatedModel&lt; VectorType &gt;</a>, and <a class="el" href="classshark_1_1_dropout_layer.html#a463d90503846768a7bd111881f178f6c">shark::DropoutLayer&lt; VectorType &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00222">222</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a76a2d024b6013037b072596fe4f9f829a89a819e2614f818baa23c5c8fdd4393d">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::HAS_FIRST_PARAMETER_DERIVATIVE</a>, and <a class="el" href="_flags_8h.html#a6e41326253dee198183b5cbde3570c6c">SHARK_FEATURE_EXCEPTION</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_negative_log_likelihood.html#aa877cede0623b9d651f8385f9b611c82">shark::NegativeLogLikelihood::evalDerivative()</a>, <a class="el" href="classshark_1_1_variational_autoencoder_error.html#a8b3b2f63448cb50dbcac630b10982341">shark::VariationalAutoencoderError&lt; SearchPointType &gt;::evalDerivative()</a>, and <a class="el" href="classshark_1_1_abstract_model.html#adb4966b597013417b5e9957c84485c8c">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::weightedDerivatives()</a>.</p>

</div>
</div>
<a id="a7d3f3d4d781954dc43d6cd445a5b56b4" name="a7d3f3d4d781954dc43d6cd445a5b56b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d3f3d4d781954dc43d6cd445a5b56b4">&#9670;&#160;</a></span>write()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceshark.html#af4f8eb8e9618f5236b71bbcb12b8a524">OutArchive</a> &amp;&#160;</td>
          <td class="paramname"><em>archive</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>writes a model to an archive </p>
<p>the default implementation just saves the parameters, not the structure! </p>

<p>Reimplemented from <a class="el" href="classshark_1_1_i_serializable.html#a9bddedd42933c922e323b73131f62f12">shark::ISerializable</a>.</p>

<p>Reimplemented in <a class="el" href="classshark_1_1_classifier.html#a580c095f6fdbb8abb438ad7af392bc77">shark::Classifier&lt; Model &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a580c095f6fdbb8abb438ad7af392bc77">shark::Classifier&lt; detail::BaseNearestNeighbor&lt; InputType, unsigned int &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a580c095f6fdbb8abb438ad7af392bc77">shark::Classifier&lt; KernelExpansion&lt; InputType &gt; &gt;</a>, <a class="el" href="classshark_1_1_classifier.html#a580c095f6fdbb8abb438ad7af392bc77">shark::Classifier&lt; LinearModel&lt; RealVector &gt; &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a4e2e1b22bebd57146434b0bcd5abd7d7">shark::ClusteringModel&lt; InputT, OutputT &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a4e2e1b22bebd57146434b0bcd5abd7d7">shark::ClusteringModel&lt; InputT, RealVector &gt;</a>, <a class="el" href="classshark_1_1_clustering_model.html#a4e2e1b22bebd57146434b0bcd5abd7d7">shark::ClusteringModel&lt; InputT, unsigned int &gt;</a>, <a class="el" href="classshark_1_1_c_m_a_c_map.html#ad9597822967b16ae5a73a9d3c9af1309">shark::CMACMap</a>, <a class="el" href="classshark_1_1_concatenated_model.html#ae2e6d07d50968b7f8d29b194c220ab2a">shark::ConcatenatedModel&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_conv2_d_model.html#a8feb74e6ec2f1ef0331b78553f142bcb">shark::Conv2DModel&lt; VectorType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_dropout_layer.html#af43aa5910f185e67e2dc2d4bb7c94406">shark::DropoutLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_kernel_expansion.html#a962e6ea8753f0146c69ff41002c4e413">shark::KernelExpansion&lt; InputType &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a70ce96ffbc504cbf6bc55637fbef2d95">shark::LinearModel&lt; InputType, ActivationFunction &gt;</a>, <a class="el" href="classshark_1_1_linear_model.html#a70ce96ffbc504cbf6bc55637fbef2d95">shark::LinearModel&lt; RealVector &gt;</a>, <a class="el" href="classshark_1_1_neuron_layer.html#af2adc70f436d1c451184d53347146b63">shark::NeuronLayer&lt; NeuronType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_normalizer.html#af7a6042a8188ec54b40d326cfcdb95eb">shark::Normalizer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_one_versus_one_classifier.html#ad3bd0e335f681d47795214af7fcee3f7">shark::OneVersusOneClassifier&lt; InputType, VectorType &gt;</a>, <a class="el" href="classshark_1_1_pooling_layer.html#a90ee269f47474aabce23f512e82507e4">shark::PoolingLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_r_b_f_layer.html#a05b2cbad373fbe6e71cae2df22cc6887">shark::RBFLayer</a>, <a class="el" href="classshark_1_1_resize_layer.html#ad2d44978e71a8e9181d4204bf2b6bdce">shark::ResizeLayer&lt; VectorType &gt;</a>, <a class="el" href="classshark_1_1_c_a_r_tree.html#aee2721f04af7597a7df6a825b4ca7777">shark::CARTree&lt; LabelType &gt;</a>, and <a class="el" href="classshark_1_1_r_b_m.html#a86fc20140fb2838b0e2dbbdee0a36650">shark::RBM&lt; VisibleLayerT, HiddenLayerT, randomT &gt;</a>.</p>

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00153">153</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">References <a class="el" href="classshark_1_1_abstract_model.html#a4c5a689901083e50007f53de72f694fc">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::m_features</a>, <a class="el" href="classshark_1_1_i_parameterizable.html#afaa2ba692ab64a0edbff60d7ee6794db">shark::IParameterizable&lt; VectorType &gt;::parameterVector()</a>, and <a class="el" href="classshark_1_1_typed_flags.html#a0192569646b37c50d59adc630a317469">shark::TypedFlags&lt; Flag &gt;::write()</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a4c5a689901083e50007f53de72f694fc" name="a4c5a689901083e50007f53de72f694fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c5a689901083e50007f53de72f694fc">&#9670;&#160;</a></span>m_features</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class InputTypeT , class OutputTypeT , class <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a>  = RealVector&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classshark_1_1_abstract_model.html#aa6b242b73aadc63380181fdf4da1db84">Features</a> <a class="el" href="classshark_1_1_abstract_model.html">shark::AbstractModel</a>&lt; InputTypeT, OutputTypeT, <a class="el" href="classshark_1_1_i_parameterizable.html#a2ad5e2e60b2b352988b41f46024d790b">ParameterVectorType</a> &gt;::m_features</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_abstract_model_8h_source.html#l00110">110</a> of file <a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a>.</p>

<p class="reference">Referenced by <a class="el" href="classshark_1_1_abstract_model.html#a1092b50b56555e8f2e8b4d4aa57eb3c3">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::hasFirstInputDerivative()</a>, <a class="el" href="classshark_1_1_abstract_model.html#ae04810c1ae40f816872eba4ef3953e36">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::hasFirstParameterDerivative()</a>, <a class="el" href="classshark_1_1_linear_model.html#a7ab8185eb1133a27b4a483422c73d614">shark::LinearModel&lt; InputType, ActivationFunction &gt;::LinearModel()</a>, <a class="el" href="classshark_1_1_linear_model.html#a6713c56a83a0616270cdbd4d47982258">shark::LinearModel&lt; InputType, ActivationFunction &gt;::LinearModel()</a>, <a class="el" href="classshark_1_1_linear_model.html#aaeeb23bba112546d102f5e6a092d79db">shark::LinearModel&lt; InputType, ActivationFunction &gt;::LinearModel()</a>, <a class="el" href="classshark_1_1_abstract_model.html#a11203dd6f50218e4c341a5d24ff5d543">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::read()</a>, and <a class="el" href="classshark_1_1_abstract_model.html#a7d3f3d4d781954dc43d6cd445a5b56b4">shark::AbstractModel&lt; InputTypeT, OutputTypeT, ParameterVectorType &gt;::write()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/shark/Models/<a class="el" href="_abstract_model_8h_source.html">AbstractModel.h</a></li>
</ul>
</div><!-- contents -->
</div>
</body>
</html>
